package request

type GetHospitalListReq struct {
	Page     int    `form:"page" binding:"required,min=1"`
	PageSize int    `form:"pageSize" binding:"required,min=1,max=100"`
	Keyword  string `form:"keyword" binding:"omitempty"`
}

// DoctorRegisterReq 医生注册请求
type DoctorRegisterReq struct {
	Phone    string `json:"phone" binding:"required"`
	Password string `json:"password" binding:"required"`
	SmsCode  string `json:"smsCode" binding:"required"`
	Name     string `json:"name" binding:"required"`
}

// DoctorLoginReq 医生登录请求
type DoctorLoginReq struct {
	Phone    string `json:"phone" binding:"required"`
	Password string `json:"password" binding:"required"`
}

// UpdateDoctorInfoReq 更新医生信息请求
type UpdateDoctorInfoReq struct {
	Name            string  `json:"name"`
	Gender          int     `json:"gender"`
	Title           string  `json:"title"`           // 职称
	Department      string  `json:"department"`      // 科室
	HospitalId      int64   `json:"hospitalId"`      // 医院ID
	Specialty       string  `json:"specialty"`       // 擅长领域
	Introduction    string  `json:"introduction"`    // 个人简介
	ConsultationFee float64 `json:"consultationFee"` // 问诊费用
	RegistrationFee float64 `json:"registrationFee"` // 挂号费用
}

// UploadQualificationReq 上传资质请求
type UploadQualificationReq struct {
	LicenseNumber         string `json:"licenseNumber" binding:"required"`         // 执业证书编号
	QualificationNumber   string `json:"qualificationNumber" binding:"required"`   // 资格证书编号
	LicenseImageUrl       string `json:"licenseImageUrl" binding:"required"`       // 执业证照片
	QualificationImageUrl string `json:"qualificationImageUrl" binding:"required"` // 资格证照片
}

// UpdateQualificationReq 更新资质请求
type UpdateQualificationReq struct {
	LicenseNumber         string `json:"licenseNumber"`
	QualificationNumber   string `json:"qualificationNumber"`
	LicenseImageUrl       string `json:"licenseImageUrl"`
	QualificationImageUrl string `json:"qualificationImageUrl"`
}

// GetDoctorListReq 获取医生列表请求
type GetDoctorListReq struct {
	Page     int    `form:"page" binding:"omitempty,min=1"`
	PageSize int    `form:"pageSize" binding:"omitempty,min=1,max=100"`
	Keyword  string `form:"keyword"`
}

// GetDoctorsByHospitalReq 按医院查询医生请求
type GetDoctorsByHospitalReq struct {
	HospitalId int64 `form:"hospitalId" binding:"required,min=1"`
	Page       int   `form:"page" binding:"omitempty,min=1"`
	PageSize   int   `form:"pageSize" binding:"omitempty,min=1,max=100"`
}

// GetDoctorsByDepartmentReq 按科室查询医生请求
type GetDoctorsByDepartmentReq struct {
	Department string `form:"department" binding:"required"`
	Page       int    `form:"page" binding:"omitempty,min=1"`
	PageSize   int    `form:"pageSize" binding:"omitempty,min=1,max=100"`
}

// GetDoctorsByDiseaseReq 按疾病查询医生请求
type GetDoctorsByDiseaseReq struct {
	Disease  string `form:"disease" binding:"required"`
	Page     int    `form:"page" binding:"omitempty,min=1"`
	PageSize int    `form:"pageSize" binding:"omitempty,min=1,max=100"`
}
